home *** CD-ROM | disk | FTP | other *** search
- MODELS(3I) Last changed: 4-13-99
-
-
- NNAAMMEE
- MMOODDEELLSS - Describes mathematical representation models for CF90 and
- MIPSpro 7 Fortran 90 compiler intrinsic procedures
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- UNICOS, UNICOS/mk, IRIX systems
-
- CF90, MIPSpro 7 Fortran 90
-
- SSTTAANNDDAARRDDSS
- Fortran
-
- DDEESSCCRRIIPPTTIIOONN
- The compilers implement the intrinsic procedures according to the
- representation models described in the Fortran standard. The Fortran
- standard describes a bit model, an integer model, and a real number
- model. For more information on these models, see the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e
- _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2.
-
- BBiitt mmooddeell
-
- The bit model interprets a nonnegative scalar data object of type
- integer as a sequence of binary digits (bits). In the model, _w
- _k
- has a value of 0 or 1. A bit is defined to be a binary digit _w
- located at position _k of a nonnegative integer scalar object, which is
- based on the following nonnegative integer model:
- _k
- _j = the summation of _w 2 as _k goes from 0 to _s-1
- _k
- (Refer to the printed MMOODDEELLSS(3I) man page in the _I_n_t_r_i_n_s_i_c
- _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, for a graphical representation of
- this summation.)
-
- OObbjjeecctt DDeeffiinniittiioonn
-
- _j The integer value.
-
- _s The number of bits in the model. The bits are numbered from
- right to left beginning with 0.
-
- _w A bit is a binary digit, _w, located at position _k. Either 0
- _k or 1.
-
- For 64-bit integers, the values in the model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _s 64
-
- _k 0 through 63
-
- On UNICOS systems, a 46-bit integer is stored in a 64-bit storage
- container.
-
- For 32-bit integers, the values are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _s 32
-
- _k 0 through 31
-
- You can use the BBIITT__SSIIZZEE intrinsic function to determine the value of
- _s in the model.
-
- The bit manipulation functions are based upon this bit model. The
- model deals only with nonnegative integers interpreted through these
- functions and the MMVVBBIITTSS subroutine. It is not necessarily related to
- the implementation of the integer data type. It also is independent
- of the binary, octal, and hexadecimal (BBOOZZ) constants described in the
- _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _1.
-
- IInntteeggeerr mmooddeell
-
- The integer number system model is as follows:
- _k-1
- _i = _s * the summation of _w _r as _k goes from 1 to q
- _k
- (Refer to the printed MMOODDEELLSS(3I) man page in the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e
- _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2, for a graphical representation of
- this summation.)
-
- This equation assumes the following definitions:
-
- OObbjjeecctt DDeeffiinniittiioonn
-
- _i The integer value.
-
- _s The sign. Either +1 or -1.
-
- _r The radix. An integer greater than 1.
-
- _q The number of digits. An integer greater than 0.
-
- _w The _kth digit. An integer 0 <= _w < _r.
- _k _k
-
- For 64-bit integers, the values in the model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _r 2
-
- _q 63
-
- _k An integer 1 <= _k <= 63, and the sign bit
-
- For 32-bit integers on UNICOS/mk and IRIX systems, the values in the
- model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _r 2
-
- _q 31
-
- _k An integer 1 <= _k <= 31, and the sign bit
-
- For 8-bit integers on IRIX systems, the values in the model are as
- follows:
-
- OObbjjeecctt VVaalluuee
-
- _r 2
-
- _q 7
-
- _k An integer 1 <= _k <= 7, and the sign bit
-
- For 16-bit integers on IRIX systems, the values in the model are as
- follows:
-
- OObbjjeecctt VVaalluuee
-
- _r 2
-
- _q 15
-
- _k An integer 1 <= _k <= 15, and the sign bit
-
- The values shown for the integer number system model can be retrieved
- through the DDIIGGIITTSS, RRAANNGGEE, and RRAADDIIXX numeric inquiry intrinsic
- functions. The DDIIGGIITTSS function returns the number of significant
- digits (_q) for an integer in the model, and the RRAANNGGEE function returns
- the decimal number of significant digits. The RRAADDIIXX function returns
- the base of the model (_r).
-
- The HHUUGGEE numeric inquiry intrinsic function returns the largest
- positive number in the integer number system model.
-
- RReeaall mmooddeell
-
- The real number system model is as follows:
-
- _x = 0
-
- or
-
- _e -_k
- _x = _s * _b * the summation of _f _b as _k goes from 1 to _p}
- _k
-
- (Refer to the printed MMOODDEELLSS(3I) man page in the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e
- _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2, for a graphical representation of this
- summation.)
-
- This equation assumes the following definitions:
-
- OObbjjeecctt DDeeffiinniittiioonn
-
- _x The real value.
-
- _s The sign. Either +1 or -1.
-
- _b The base (real radix). An integer greater than 1.
-
- _e An integer between some minimum and maximum value.
-
- _p The number of mantissa digits. An integer greater than 1.
-
- _f The _kth digit. An integer 1 <= _f < _b.
- _k _k
- _f can be 0 only if all _f are 0.
- 1 _k
-
- For 128-bit real numbers on UNICOS systems, the values in the model
- are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _b 2
-
- _e 8189
- _m_a_x
- _e -8188
- _m_i_n
- _p 95
-
- _k An integer 1 <= _k <= 95
-
- For 128-bit real numbers on IRIX systems systems, the values in the
- model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _b 2
-
- _e 1023
- _m_a_x
- _e -967
- _m_i_n
- _p 107
-
- _k An integer 1 <= _k <= 107
-
- For 128-bit real numbers on CRAY T90 systems that support IEEE
- floating-point arithmetic, the values in the model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _b 2
-
- _e 16384
- _m_a_x
- _e -16381
- _m_i_n
- _p 113
-
- _k An integer 1 <= _k <= 113
-
- For 64-bit real numbers on UNICOS systems, the values in the model are
- as follows:
-
- OObbjjeecctt VVaalluuee
-
- _b 2
-
- _e 8189
- _m_a_x
- _e -8188
- _m_i_n
- _p 47
-
- _k An integer 1 <= _k <= 47
-
- For 64-bit real numbers on IRIX systems, on CRAY T90 systems that
- support IEEE floating-point arithmetic, and on UNICOS/mk systems, the
- values in the model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _b 2
-
- _e 1024
- _m_a_x
- _e -1021
- _m_i_n
- _p 53
-
- _k An integer 1 <= _k <= 53
-
- For 32-bit real numbers on UNICOS/mk and IRIX systems, the values in
- the model are as follows:
-
- OObbjjeecctt VVaalluuee
-
- _b 2
-
- _e 128
- _m_a_x
- _e -125
- _m_i_n
- _p 24
-
- _k An integer 1 <= _k <= 24
-
- The values shown for the real number system model can be retrieved
- through the RRAADDIIXX, MMAAXXEEXXPPOONNEENNTT, MMIINNEEXXPPOONNEENNTT, DDIIGGIITTSS, PPRREECCIISSIIOONN, and
- RRAANNGGEE numeric inquiry intrinsic functions.
-
- The HHUUGGEE and TTIINNYY numeric inquiry intrinsic functions return the
- largest and the smallest positive number in the real number system
- model. The EEPPSSIILLOONN function returns a positive real number that is
- 1-_p
- _e_p_s_i_l_o_n = _b .
-
- NNOOTTEESS
- On UNICOS systems, both execution speed and the number of bits used in
- mathematical operations are affected when compiling with
- ff9900 --OO ffaassttiinntt, which is the default setting. For more information,
- see _C_F_9_0 _C_o_m_m_a_n_d_s _a_n_d _D_i_r_e_c_t_i_v_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l.
-
- SSEEEE AALLSSOO
- _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for the printed version of this
- man page.
-